#ifndef __BOOTMEM_H__
#define __BOOTMEM_H__

/*
 * 系统启动初期，伙伴系统（free_area）尚未初始化时，用于管理内存的分配。它是一个非常简单的位图分配器
 * node_boot_start: 该节点可用内存的起始物理地址
 * node_low_pfn: 该节点可用内存的结束页面帧号(最后一个page的帧号)
 * node_bootmem_map: 指向位图的指针。位图中的每一位代表一个物理页面，1表示已占用，0表示空闲
 */

typedef struct bootmem_data {
	unsigned long node_boot_start;
	unsigned long node_low_pfn;
	void *node_bootmem_map;
} bootmem_data_t;

extern void reserve_bootmem_core(bootmem_data_t *bdata, unsigned long addr, unsigned long size);

#endif

